package com.gitee.qdbp.general.common.api.settings.model;

import com.gitee.qdbp.base.annotation.DataIsolation;
import com.gitee.qdbp.base.annotation.OperateTraces;

/**
 * 行政区划更新类
 *
 * @author zhh
 * @version 180514
 */
@OperateTraces(target = "where")
@DataIsolation(enable = false)
public class AreaDivisionUpdate extends AreaDivisionBean {

    /** 版本序列号 **/
    private static final long serialVersionUID = 1L;

    /** 使用场景是否更新为空值 **/
    private Boolean sceneTypeToNull;

    /** 区域编号是否更新为空值 **/
    private Boolean areaCodeToNull;

    /** 区域名称是否更新为空值 **/
    private Boolean areaNameToNull;

    /** 区域简称是否更新为空值 **/
    private Boolean shortNameToNull;

    /** 上级行政区编号是否更新为空值 **/
    private Boolean parentCodeToNull;

    /** 排序(越小越靠前)是否更新为空值 **/
    private Boolean sortIndexToNull;
    /** 排序(越小越靠前)的增加值 **/
    private Integer sortIndexAdd;

    /** 类型(0.国|1.省|2.市|3.区/县)是否更新为空值 **/
    private Boolean typeToNull;

    /** 查询字符串是否更新为空值 **/
    private Boolean queryStringToNull;

    /** 更新时间是否更新为数据库当前时间 **/
    private Boolean updateTimeToCurrent;
    /** 更新时间的增加值(单位:秒) **/
    private Long updateTimeAdd;

    /** 选项是否更新为空值 **/
    private Boolean optionsToNull;

    /** 更新操作的条件 **/
    private AreaDivisionWhere where;

    /** 判断使用场景是否更新为空值 **/
    public Boolean isSceneTypeToNull() {
        return sceneTypeToNull;
    }

    /**
     * 设置使用场景是否更新为空值
     *
     * @param sceneTypeToNull 使用场景是否更新为空值
     * @deprecated 该字段为非空字段
     */
    @Deprecated
    public void setSceneTypeToNull(Boolean sceneTypeToNull) {
        this.sceneTypeToNull = sceneTypeToNull;
    }

    /** 判断区域编号是否更新为空值 **/
    public Boolean isAreaCodeToNull() {
        return areaCodeToNull;
    }

    /**
     * 设置区域编号是否更新为空值
     *
     * @param areaCodeToNull 区域编号是否更新为空值
     * @deprecated 该字段为非空字段
     */
    @Deprecated
    public void setAreaCodeToNull(Boolean areaCodeToNull) {
        this.areaCodeToNull = areaCodeToNull;
    }

    /** 判断区域名称是否更新为空值 **/
    public Boolean isAreaNameToNull() {
        return areaNameToNull;
    }

    /**
     * 设置区域名称是否更新为空值
     *
     * @param areaNameToNull 区域名称是否更新为空值
     * @deprecated 该字段为非空字段
     */
    @Deprecated
    public void setAreaNameToNull(Boolean areaNameToNull) {
        this.areaNameToNull = areaNameToNull;
    }

    /** 判断区域简称是否更新为空值 **/
    public Boolean isShortNameToNull() {
        return shortNameToNull;
    }

    /** 设置区域简称是否更新为空值 */
    public void setShortNameToNull(Boolean shortNameToNull) {
        this.shortNameToNull = shortNameToNull;
    }

    /** 判断上级行政区编号是否更新为空值 **/
    public Boolean isParentCodeToNull() {
        return parentCodeToNull;
    }

    /** 设置上级行政区编号是否更新为空值 **/
    public void setParentCodeToNull(Boolean parentCodeToNull) {
        this.parentCodeToNull = parentCodeToNull;
    }

    /** 判断排序(越小越靠前)是否更新为空值 **/
    public Boolean isSortIndexToNull() {
        return sortIndexToNull;
    }

    /**
     * 设置排序(越小越靠前)是否更新为空值
     *
     * @param sortIndexToNull 排序(越小越靠前)是否更新为空值
     * @deprecated 该字段为非空字段
     */
    @Deprecated
    public void setSortIndexToNull(Boolean sortIndexToNull) {
        this.sortIndexToNull = sortIndexToNull;
    }

    /** 获取排序(越小越靠前)的增加值 **/
    public Integer getSortIndexAdd() {
        return sortIndexAdd;
    }

    /** 设置排序(越小越靠前)的增加值 **/
    public void setSortIndexAdd(Integer sortIndexAdd) {
        this.sortIndexAdd = sortIndexAdd;
    }

    /** 判断类型(0.国|1.省|2.市|3.区/县)是否更新为空值 **/
    public Boolean isTypeToNull() {
        return typeToNull;
    }

    /**
     * 设置类型(0.国|1.省|2.市|3.区/县)是否更新为空值
     *
     * @param typeToNull 类型(0.国|1.省|2.市|3.区/县)是否更新为空值
     * @deprecated 该字段为非空字段
     */
    @Deprecated
    public void setTypeToNull(Boolean typeToNull) {
        this.typeToNull = typeToNull;
    }

    /** 判断查询字符串是否更新为空值 **/
    public Boolean isQueryStringToNull() {
        return queryStringToNull;
    }

    /** 设置查询字符串是否更新为空值 **/
    public void setQueryStringToNull(Boolean queryStringToNull) {
        this.queryStringToNull = queryStringToNull;
    }

    /** 判断更新时间是否更新为数据库当前时间 **/
    public Boolean isUpdateTimeToCurrent() {
        return updateTimeToCurrent;
    }

    /** 设置更新时间是否更新为数据库当前时间 **/
    public void setUpdateTimeToCurrent(Boolean updateTimeToCurrent) {
        this.updateTimeToCurrent = updateTimeToCurrent;
    }

    /** 获取更新时间的增加值(单位:秒) **/
    public Long getUpdateTimeAdd() {
        return updateTimeAdd;
    }

    /** 设置更新时间的增加值(单位:秒) **/
    public void setUpdateTimeAdd(Long updateTimeAdd) {
        this.updateTimeAdd = updateTimeAdd;
    }

    /** 判断选项是否更新为空值 **/
    public Boolean isOptionsToNull() {
        return optionsToNull;
    }

    /** 设置选项是否更新为空值 **/
    public void setOptionsToNull(Boolean optionsToNull) {
        this.optionsToNull = optionsToNull;
    }

    /** 获取更新操作的条件 **/
    public AreaDivisionWhere getWhere() {
        return where;
    }

    /** 获取更新操作的条件, force=是否强制返回非空条件 **/
    public AreaDivisionWhere getWhere(boolean force) {
        if (where == null && force) {
            where = new AreaDivisionWhere();
        }
        return where;
    }

    /** 设置更新操作的条件 **/
    public void setWhere(AreaDivisionWhere where) {
        this.where = where;
    }
}